﻿using System;
using System.Collections.Generic;
using System.Text;

using E.Enum;

namespace E.Model
{
    [Serializable]
    public class ShortTestModel
    {
        public int ID { get; set; }
        public string ExamID { get; set; }
        public string ExamTitle { get; set; }
        public DateTime StartTime { get; set; }
        public bool IsOver { get; set; }
    }

    [Serializable]
    public class TestModel
    {
        public int ID { get; set; }
        public int UserID { get; set; }
        public int ExamID { get; set; }
        public string ExamTitle { get; set; }
        public IList<int> QuestionIDArray { get; set; }
        public bool IsOver { get; set; }
        public DateTime CreatedTime { get; set; }
        public DateTime StartTime { get; set; }
        public DateTime SubmitTime { get; set; }
        public string AnswerArray { get; set; }
        public string SubjectiveQuestionAnswer { get; set; }
        public int Score { get; set; }
        public int AreaID { get; set; }
        public bool IsSec { get; set; }
    }

    [Serializable]
    public class ScoreListModel
    {
        public int TotalCount { get; set; }
        public IList<ShortScoreModel> List { get; set; }
    }

    [Serializable]
    public class ShortScoreModel
    {
        public int ID { get; set; }
        public int UserID { get; set; }
        public string UserName { get; set; }
        public bool Gender { get; set; }
        public string Education { get; set; }
        public string CourseCertificateName { get; set; }
        public int Score { get; set; }
        public int TestID { get; set; }
        public int CategoryID { get; set; }
        public int ExamID { get; set; }
        public string LoginID { get; set; }
        public DateTime StartTime { get; set; }
    }

    [Serializable]
    public class SearchScoreModel
    {
        public string LoginID { get; set; }
        public string UserName { get; set; }
        public int AreaID { get; set; }
        public int TeacherID { get; set; }
        public string ClassCode { get; set; }
        public int CertificateID { get; set; }
        public int CourseID { get; set; }
        public int CourseCategoryID { get; set; }
        public string StartFromDate { get; set; }
        public string StartToDate { get; set; }
        public int FromScore { get; set; }
        public int ToScore { get; set; }

        public string EntryFromDate { get; set; }
        public string EntryToDate { get; set; }
    }

    [Serializable]
    public class SearchScoreInputModel
    {
        public int CertificateID { get; set; }
        public int AreaID { get; set; }
        public int ScoreCategoryID { get; set; }
        public string LoginID { get; set; }
        public string UserName { get; set; }
        public int IsInputed { get; set; }
        public int RecordDisplayQuantity { get; set; }

        public string EntryFromDate { get; set; }
        public string EntryToDate { get; set; }
    }

    [Serializable]
    public class ShortScoreInputModel
    {
        public int UserID { get; set; }
        public string LoginID { get; set; }
        public string UserName { get; set; }
        public int CertificateID { get; set; }
        public int ScoreCategoryID { get; set; }
        public string ScoreCategoryName { get; set; }
        public int Score { get; set; }
    }

    [Serializable]
    public class InputModel
    {
        public string UserIDStr { get; set; }
        public string[] UserIDArray { get; set; }
        public string[] ScoreCategoryIDArray { get; set; }
        public string[] ScoreArray { get; set; }
    }

    [Serializable]
    public class ScoreLogModel
    {
        public int UserID { get; set; }
        public string LoginID { get; set; }
        public string UserName { get; set; }
        public string CertificateName { get; set; }
        public IList<ScoreModel> ScoreLog { get; set; }
    }

    [Serializable]
    public class ScoreCategoryModel
    {
        public int ID { get; set; }
        public string Name { get; set; }
        public int Scale { get; set; }
        public bool IsInput { get; set; }
        public bool IsCourse{ get; set; }
    }

    [Serializable]
    public class ScoreModel
    {
        public int ScoreCategoryID { get; set; }
        public string CategoryName { get; set; }
        public int Score { get; set; }
    }

    [Serializable]
    public class TestDetailInfoModel
    {
        public int ID { get; set; }
        public int ExamID { get; set; }
        public string ExamTitle { get; set; }
        public DateTime StartTime { get; set; }
        public DateTime SubmitTime { get; set; }
        public int Score { get; set; }
        public IList<ExamQuestionModel> QuestionList { get; set; }
        public string AnswerArray { get; set; }
        #region wnan
        public string[] SubjectiveAnswerArray { get; set; }
        public int[] SubjectScore { get; set; }
        public int TestLogId { get; set; }
        #endregion
    }

    [Serializable]
    public class ExamQuestionModel
    {
        public int CategoryID { get; set; }
        public string CategoryName { get; set; }
        public int DefaultScore { get; set; }
        public IList<QuestionModel> CategoryQuestionList { get; set; }
    }
}
